package com.company.String.泛型;

import java.util.ArrayList;
import java.util.List;

/**
 * @author ylr
 * @version 1.0.0
 * @ClassName Main.java
 * @Description TODO
 * @createTime 2021年10月31日 10:03:00
 */
class A{}
class B extends A{}
class C extends A{}
class D extends B{}
public class Main {
    public static void main(String[] args) {
        List<A> lA = new ArrayList<>();
        List<B> lB = new ArrayList<>();
//        lA = lB;  // 相当于  List<A> lA = new ArrayList<B>();
//        lB = lA;  // 相当于  List<B> lB = new ArrayList<A>();

        lA.add(new A());
        lA.add(new B());
        lA.add(new C());
        lA.add(new D());

        lB.add((B) new A());
//        lB.add(new B());
//        lB.add(new C());


//        lA = lB;  //a能接受abcd 赋值b后只能接受ab  但是左边是a类需要接受abcd 无法成功
//        lB = lA;  //b只能接受ab 赋值a能接受adbc  但实际只能接受ab 无法成功



    }




}
